package com.fpd.model.ro;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel(description = "源数据数据模型")
public class MetadataRO {
	@ApiModelProperty(value = "ID", example = "")//之前是true
	private String id;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间", example = "", hidden = true)
	private Date createTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "更新时间", example = "", hidden = true)
	private Date updateTime;

	@ApiModelProperty(value = "合同号重复次数", example = "", hidden = false)
	private Integer repentNum;// 合同号重复次数
	private Integer age;// 年龄
	private Integer agePart;//年龄段
	private Integer aging;//账龄段
	// 对应表格表头113个字段，顺序也需要对应
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "开始委案日期", example = "", hidden = false)
	private Date beginTimeCase;// 开始委案日期

	@ApiModelProperty(value = "计划收回日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date takeBackPlanTime;// 计划收回日期

	@ApiModelProperty(value = "合同号", example = "", hidden = false)
	private String contractNumber;// 合同号

	@ApiModelProperty(value = "客户号", example = "", hidden = false)
	private String custNo;// 客户号

	@ApiModelProperty(value = "姓名", example = "", hidden = false)
	private String custName;// 姓名

	@ApiModelProperty(value = "性别", example = "", hidden = false)
	private String custSex;// 性别（0：男；1：女；2：保密；3：未知）

	@ApiModelProperty(value = "客户邮箱", example = "", hidden = false)
	private String email;// 客户邮箱

	@ApiModelProperty(value = "手机号码（客户手机号码）", example = "", hidden = false)
	private String phoneNumber;// 手机号码

	@ApiModelProperty(value = "身份证号", example = "", hidden = false)
	private String custIdNumber;// 身份证号

	@ApiModelProperty(value = "出生日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date birthday;// 出生日期

	@ApiModelProperty(value = "产品名称", example = "", hidden = false)
	private String productName;// 产品名称

	@ApiModelProperty(value = "商品详情", example = "", hidden = false)
	private String goodsDetails;// 商品详情

	@ApiModelProperty(value = "商户名称", example = "", hidden = false)
	private String store;// 商户名称

	@ApiModelProperty(value = "商户地址", example = "", hidden = false)
	private String storeAddress;// 商户地址

	@ApiModelProperty(value = "产品", example = "", hidden = false)
	private String product;// 产品

	@ApiModelProperty(value = "产品型号", example = "", hidden = false)
	private String productModel;// 产品型号

	@ApiModelProperty(value = "产品类型", example = "", hidden = false)
	private String productType;// 产品类型

	@ApiModelProperty(value = "贷款总额", example = "", hidden = false)
	private BigDecimal loanAmount;// 贷款总额

	@ApiModelProperty(value = "首付金额", example = "", hidden = false)
	private BigDecimal firstPayAmount;// 首付金额

	@ApiModelProperty(value = "期数（贷款期数/借款期数）", example = "", hidden = false)
	private Integer loanPeriod;// 期数

	@ApiModelProperty(value = "逾期天数", example = "", hidden = false)
	private Integer yuqiDay;// 逾期天数

	@ApiModelProperty(value = "逾期金额", example = "", hidden = false)
	private BigDecimal yuqiAmount;// 逾期金额（逾期金额/剩余总欠款/逾期本息费/应还总金额）

	@ApiModelProperty(value = "剩余总欠款", example = "", hidden = false)
	private BigDecimal leftTotalDebt;// 剩余总欠款

	@ApiModelProperty(value = "合同生效日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date contractValidTime;// 合同生效日期

	@ApiModelProperty(value = "合同首次应还款日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date firstRepaymentTime;// 合同首次应还款日期

	@ApiModelProperty(value = "到期还款日", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date paymentDueDay;// 到期还款日

	@ApiModelProperty(value = "取消分期日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date cancelTime;// 取消分期日期

	@ApiModelProperty(value = "取消分期前每月正常还款金额", example = "", hidden = false)
	private BigDecimal cancelBeforeRepaymentAmount;// 取消分期前每月正常还款金额

	@ApiModelProperty(value = "期款金额", example = "", hidden = false)
	private BigDecimal qikuanAmount;// 期款金额

	@ApiModelProperty(value = "滞纳金", example = "", hidden = false)
	private BigDecimal zhinajin;// 滞纳金

	@ApiModelProperty(value = "最近一次还款时间", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date recentlyRepaymentTime;// 最近一次还款时间

	@ApiModelProperty(value = "最近一次还款金额", example = "", hidden = false)
	private BigDecimal recentlyRepaymentAmount;// 最近一次还款金额

	@ApiModelProperty(value = "已还期数", example = "", hidden = false)
	private Integer hasBackNumber;// 已还期数

	@ApiModelProperty(value = "累计还款金额", example = "", hidden = false)
	private BigDecimal totalRepaymentAmount;// 累计还款金额

	@ApiModelProperty(value = "客户现行合同数量", example = "", hidden = false)
	private Integer contractNum;// 客户现行合同数量

	@ApiModelProperty(value = "贷款类型", example = "", hidden = false)
	private String loanType;// 贷款类型

	@ApiModelProperty(value = "剩余期款", example = "", hidden = false)
	private BigDecimal leftQikuan;// 剩余期款

	@ApiModelProperty(value = "剩余本金", example = "", hidden = false)
	private BigDecimal leftMoney;// 剩余本金

	@ApiModelProperty(value = "划扣银行", example = "", hidden = false)
	private String bankName;// 划扣银行

	@ApiModelProperty(value = "划扣银行卡号", example = "", hidden = false)
	private String bankNumber;// 划扣银行卡号

	@ApiModelProperty(value = "户籍邮编", example = "", hidden = false)
	private String registerPostcode;// 户籍邮编

	@ApiModelProperty(value = "户籍省份", example = "", hidden = false)
	private String registerProvince;// 户籍省份

	@ApiModelProperty(value = "户籍城市", example = "", hidden = false)
	private String registerCity;// 户籍城市

	@ApiModelProperty(value = "户籍城镇", example = "", hidden = false)
	private String registerTown;// 户籍城镇

	@ApiModelProperty(value = "户籍村镇", example = "", hidden = false)
	private String registerVillages;// 户籍村镇

	@ApiModelProperty(value = "户籍街道", example = "", hidden = false)
	private String registerStreet;// 户籍街道

	@ApiModelProperty(value = "户籍楼号", example = "", hidden = false)
	private String registerBuildingNo;// 户籍楼号

	@ApiModelProperty(value = "户籍门牌号", example = "", hidden = false)
	private String registerHouseNo;// 户籍门牌号

	@ApiModelProperty(value = "详细户籍地址", example = "", hidden = false)
	private String registerAddress;// 详细户籍地址

	@ApiModelProperty(value = "现居邮编", example = "", hidden = false)
	private String livePostcode;// 现居邮编

	@ApiModelProperty(value = "现居省", example = "", hidden = false)
	private String liveProvince;// 现居省

	@ApiModelProperty(value = "现居城市", example = "", hidden = false)
	private String liveCity;// 现居城市

	@ApiModelProperty(value = "现居城镇", example = "", hidden = false)
	private String liveTown;// 现居城镇

	@ApiModelProperty(value = "现居村镇", example = "", hidden = false)
	private String liveVillages;// 现居村镇

	@ApiModelProperty(value = "现居街道", example = "", hidden = false)
	private String liveStreet;// 现居街道

	@ApiModelProperty(value = "现居楼号", example = "", hidden = false)
	private String liveBuildingNo;// 现居楼号

	@ApiModelProperty(value = "现居门牌号", example = "", hidden = false)
	private String liveHouseNo;// 现居门牌号

	@ApiModelProperty(value = "详细居住地址", example = "", hidden = false)
	private String liveAddress;// 详细居住地址

	@ApiModelProperty(value = "公司邮编", example = "", hidden = false)
	private String unitPostcode;// 公司邮编

	@ApiModelProperty(value = "公司省", example = "", hidden = false)
	private String unitProvince;// 公司省

	@ApiModelProperty(value = "公司市", example = "", hidden = false)
	private String unitCity;// 公司市

	@ApiModelProperty(value = "公司城镇", example = "", hidden = false)
	private String unitTown;// 公司城镇

	@ApiModelProperty(value = "公司村镇", example = "", hidden = false)
	private String unitVillages;// 公司村镇

	@ApiModelProperty(value = "公司街道", example = "", hidden = false)
	private String unitStreet;// 公司街道

	@ApiModelProperty(value = "公司楼号", example = "", hidden = false)
	private String unitBuildingNo;// 公司楼号

	@ApiModelProperty(value = "公司门牌号", example = "", hidden = false)
	private String unitHouseNo;// 公司门牌号

	@ApiModelProperty(value = "公司名称(单位名称)", example = "", hidden = false)
	private String unitName;// 公司名称

	@ApiModelProperty(value = "详细工作地址", example = "", hidden = false)
	private String unitAddress;// 详细工作地址

	@ApiModelProperty(value = "父亲姓名", example = "", hidden = false)
	private String fatherName;// 父亲姓名

	@ApiModelProperty(value = "父亲电话", example = "", hidden = false)
	private String fatherPhone;// 父亲电话

	@ApiModelProperty(value = "父亲家庭电话", example = "", hidden = false)
	private String fatherHomePhone;// 父亲家庭电话

	@ApiModelProperty(value = "父亲工作电话", example = "", hidden = false)
	private String fatherWorkPhone;// 父亲工作电话

	@ApiModelProperty(value = "母亲姓名", example = "", hidden = false)
	private String motherName;// 母亲姓名

	@ApiModelProperty(value = "母亲电话", example = "", hidden = false)
	private String motherPhone;// 母亲电话

	@ApiModelProperty(value = "母亲家庭电话", example = "", hidden = false)
	private String motherHomePhone;// 母亲家庭电话

	@ApiModelProperty(value = "母亲工作电话", example = "", hidden = false)
	private String motherWorkPhone;// 母亲工作电话

	@ApiModelProperty(value = "配偶姓名", example = "", hidden = false)
	private String spouseName;// 配偶姓名

	@ApiModelProperty(value = "配偶手机号", example = "", hidden = false)
	private String spousePhone;// 配偶手机号

	@ApiModelProperty(value = "配偶家庭电话", example = "", hidden = false)
	private String spouseHomePhone;// 配偶家庭电话

	@ApiModelProperty(value = "配偶工作电话", example = "", hidden = false)
	private String spouseWorkPhone;// 配偶工作电话

	@ApiModelProperty(value = "子女姓名", example = "", hidden = false)
	private String childrenName;// 子女姓名

	@ApiModelProperty(value = "子女手机号（子女电话）", example = "", hidden = false)
	private String childrenPhone;// 子女手机号

	@ApiModelProperty(value = "子女家庭电话", example = "", hidden = false)
	private String childrenHomePhone;// 子女家庭电话

	@ApiModelProperty(value = "子女工作电话", example = "", hidden = false)
	private String childrenWorkPhone;// 子女工作电话

	@ApiModelProperty(value = "兄弟姓名", example = "", hidden = false)
	private String brotherName;// 兄弟姓名

	@ApiModelProperty(value = "兄弟电话", example = "", hidden = false)
	private String brotherPhone;// 兄弟电话

	@ApiModelProperty(value = "兄弟家庭电话", example = "", hidden = false)
	private String brotherHomePhone;// 兄弟家庭电话

	@ApiModelProperty(value = "兄弟工作电话", example = "", hidden = false)
	private String brotherWorkPhone;// 兄弟工作电话

	@ApiModelProperty(value = "姐妹姓名", example = "", hidden = false)
	private String sisterName;// 姐妹姓名

	@ApiModelProperty(value = "姐妹电话", example = "", hidden = false)
	private String sisterPhone;// 姐妹电话

	@ApiModelProperty(value = "姐妹家庭电话", example = "", hidden = false)
	private String sisterHomePhone;// 姐妹家庭电话

	@ApiModelProperty(value = "姐妹工作电话", example = "", hidden = false)
	private String sisterWorkPhone;// 姐妹工作电话

	@ApiModelProperty(value = "朋友姓名", example = "", hidden = false)
	private String friendName;// 朋友姓名

	@ApiModelProperty(value = "朋友电话", example = "", hidden = false)
	private String friendPhone;// 朋友电话

	@ApiModelProperty(value = "同事姓名", example = "", hidden = false)
	private String colleagueName;// 同事姓名

	@ApiModelProperty(value = "同事电话", example = "", hidden = false)
	private String colleaguePhone;// 同事电话

	@ApiModelProperty(value = "其他联系人名称", example = "", hidden = false)
	private String otherLinkName;// 其他联系人名称

	@ApiModelProperty(value = "其他联系人电话", example = "", hidden = false)
	private String otherLinkPhone;// 其他联系人电话

	@ApiModelProperty(value = "其他亲属名称", example = "", hidden = false)
	private String otherRelativeName;// 其他亲属名称

	@ApiModelProperty(value = "其他亲属手机号", example = "", hidden = false)
	private String otherRelativePhone;// 其他亲属手机号

	@ApiModelProperty(value = "其他亲属家庭电话", example = "", hidden = false)
	private String otherRelativeHomePhone;// 其他亲属家庭电话

	@ApiModelProperty(value = "其他亲属工作电话", example = "", hidden = false)
	private String otherRelativeWorkPhone;// 其他亲属工作电话

	@ApiModelProperty(value = "第三方联系人名称", example = "", hidden = false)
	private String thirdName;// 第三方联系人名称

	@ApiModelProperty(value = "第三方联系人手机号", example = "", hidden = false)
	private String thirdPhone;// 第三方联系人手机号

	@ApiModelProperty(value = "第三方联系人家庭电话", example = "", hidden = false)
	private String thirdHomePhone;// 第三方联系人家庭电话

	@ApiModelProperty(value = "第三方联系人工作电话", example = "", hidden = false)
	private String thirdWorkPhone;// 第三方联系人工作电话

	@ApiModelProperty(value = "其他姓名", example = "", hidden = false)
	private String otherName;// 其他姓名

	@ApiModelProperty(value = "其他电话", example = "", hidden = false)
	private String otherPhone;// 其他电话

	@ApiModelProperty(value = "批次号", example = "", hidden = false)
	private String batchNo;// 批次号

	@ApiModelProperty(value = "案件号", example = "", hidden = false)
	private String caseNo;// 案件号

	@ApiModelProperty(value = "申请仲裁日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date arbitrationDate;// 申请仲裁日期

	@ApiModelProperty(value = "裁决日期", example = "", hidden = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date rulingDate;// 裁决日期

	@ApiModelProperty(value = "案件类型", example = "", hidden = false)
	private String caseType;// 案件类型

	@ApiModelProperty(value = "已还金额", example = "", hidden = false)
	private BigDecimal payAmountYet;// 已还金额

	@ApiModelProperty(value = "兄弟姐妹姓名", example = "", hidden = false)
	private String brotherSisterName;// 兄弟姐妹姓名

	@ApiModelProperty(value = "兄弟姐妹电话", example = "", hidden = false)
	private String brotherSisterPhone;// 兄弟姐妹电话

	@ApiModelProperty(value = "兄弟姐妹家庭电话", example = "", hidden = false)
	private String brotherSisterHomePhone;// 兄弟姐妹家庭电话

	@ApiModelProperty(value = "兄弟姐妹工作电话", example = "", hidden = false)
	private String brotherSisterWorkPhone;// 兄弟姐妹工作电话

	@ApiModelProperty(value = "催收结果（0：失败，1：成功）", example = "", hidden = true)
	private Integer backResult;// 催收结果（0：失败，1：成功）

	@ApiModelProperty(value = "第三方", example = "", hidden = false)//之前是true
	private String thirdParty;// 第三方

	@ApiModelProperty(value = "是否已进行数据分析（0：未分析；1：已分析；2：调用接口失败）", example = "", hidden = true)
	private Integer isAnalysis;// 第三方

	@ApiModelProperty(value = "共债状态（0：否；1是）", example = "", hidden = false)
	private Integer jointly;//共债状态新增

	//新增
	@ApiModelProperty(value = "资金渠道", example = "")
	private String fundChannel;

	@ApiModelProperty(value = "放款模式", example = "")
	private String lendingPatterns;

	@ApiModelProperty(value = "产品详细类型2", example = "")
	private String productTypeTwo;

	@ApiModelProperty(value = "产品详细类型3", example = "")
	private String productTypeThree;

	@ApiModelProperty(value = "其他类型", example = "")
	private String otherType;

	@ApiModelProperty(value = "贷款本金", example = "")
	private BigDecimal loansCapital;

	@ApiModelProperty(value = "逾期期数", example = "")
	private int overduePeriods;

	@ApiModelProperty(value = "其他金额", example = "")
	private BigDecimal otherMoney;

	@ApiModelProperty(value = "利息", example = "")
	private BigDecimal interest;

	@ApiModelProperty(value = "违约金", example = "")
	private BigDecimal liquidatedDamages;

	@ApiModelProperty(value = "服务费", example = "")
	private BigDecimal serviceCharge;

	@ApiModelProperty(value = "逾期利息", example = "")
	private BigDecimal overdueInterest;

	@ApiModelProperty(value = "罚息", example = "")
	private BigDecimal penalSum;

	@ApiModelProperty(value = "费用", example = "")
	private BigDecimal cost;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "最后一次还款日期", example = "")
	private Date lastRepaymentDate;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(value = "账单日")
	private Date accountantbilldate;

	@ApiModelProperty(value = "提前结清金额", example = "")
	private BigDecimal prepaymentMoney;

	@ApiModelProperty(value = "月还款金额", example = "")
	private BigDecimal monthRepaymentMoney;

	@ApiModelProperty(value = "详细户籍地址2", example = "")
	private String registerAddressTwo;

	@ApiModelProperty(value = "详细户籍地址3", example = "")
	private String  registerAddressThree;

	@ApiModelProperty(value = "详细户籍地址4", example = "")
	private String registerAddressFour;

	@ApiModelProperty(value = "详细户籍地址5", example = "")
	private String registerAddressFive;

	@ApiModelProperty(value = "详细居住地址2", example = "")
	private String liveAddressTwo;

	@ApiModelProperty(value = "详细居住地址3", example = "")
	private String liveAddressThree;

	@ApiModelProperty(value = "详细居住地址4", example = "")
	private String liveAddressFour;

	@ApiModelProperty(value = "详细居住地址5", example = "")
	private String liveAddressFive;

	@ApiModelProperty(value = "其他地址1", example = "")
	private String otherAddress;

	@ApiModelProperty(value = "其他地址2", example = "")
	private String otherAddressTwo;

	@ApiModelProperty(value = "客户家庭电话", example = "")
	private String clientFamilyPhone;

	@ApiModelProperty(value = "客户单位电话", example = "")
	private String clientUnitPhone;

	@ApiModelProperty(value = "客户其他电话1", example = "")
	private String clientOtherPhone;

	@ApiModelProperty(value = "客户其他电话2", example = "")
	private String clientOtherPhoneTwo;

	@ApiModelProperty(value = "客户其他电话3", example = "")
	private String clientOtherPhoneThree;

	@ApiModelProperty(value = "其他联系人名称2", example = "")
	private String otherLinkNameTwo;

	@ApiModelProperty(value = "其他联系人电话2", example = "")
	private String otherLinkPhoneTwo;

	@ApiModelProperty(value = "其他联系人名称3", example = "")
	private String otherLinkNameThree;

	@ApiModelProperty(value = "其他联系人电话3", example = "")
	private String otherLinkPhoneThree;

	@ApiModelProperty(value = "其他联系人名称4", example = "")
	private String otherLinkNameFour;

	@ApiModelProperty(value = "其他联系人电话4", example = "")
	private String otherLinkPhoneFour;

	@ApiModelProperty(value = "备注1", example = "")
	private String commentOne;

	@ApiModelProperty(value = "备注2", example = "")
	private String commentTwo;

	@ApiModelProperty(value = "总回款金额", example = "")
	private BigDecimal totalAmountCollected;

	@ApiModelProperty(value = "客服回款金额", example = "")
	private BigDecimal serviceTotalAmountCollected;
}
